The present invention relates to a method and a system for controlling an internal-combustion engine, and more particularly, to a method and a system utilizing appropriate informations from sensors used to detect the operating parameter of the engine for engine controlling purposes.
Heretofore, there have been employed methods of controlling an internal combustion engine including steps of obtaining necessary data for use in controlling the engine by providing various data indicative of operating parameters of the engine in the form of electric signals with the use of sensors, making calculations based on the detected signals using a digital computer, and controlling the fuel flow rate ignition timing, etc., of the engine based on such data.
The fuel flow rate is normally controlled according to the flow rate Q of intake air as detected by an intake air flow rate sensor, corrected according to various temperature conditions including engine temperature, exhaust gas condition, engine speed, and rate of acceleration. The corrected value is utilized to operate an electromagnetic fuel injection valve.
The ignition timing control is effected by: determining as a base data value the spark advance angle (angle of lag from a reference crank angle) based on the engine load P, as detected by a steady-state engine load sesor, and the engine speed N, detected by an engine speed sensor; (it is also possible to determine the value of Q/N from the output of an intake flow rate sensor and the engine speed N from the engine speed sensor); calculating an ignition advance value (angle of lag from a reference crank angle) by correcting the base data value according to the engine temperature and the amount of knocking of the engine; measuring the actual crank angle lag (from the reference crank angle); and generating sparks upon coincident of the actual crank angle with the ignition advance data value.
To carry out the calculations mentioned above, a digital computer is used, employing an operating program. Execution of the operating program can be carried out continuously and repetitively, or the program can be executed each time a predetermined trigger pulse is produced. Each time the program is executed, then-present input values corresponding to the data of the various operating parameters are employed by the program, the input values being stored at designated addresses.
The various input values must, of course, be supplied to the computer in digital form. This necessitates conversions into digital form of base signals in various forms. If the base value is in the form of a resistance, for instance, in the case of detecting the engine temperature using a thermistor or in the case of detecting the intake air flow rate from variations in the resistance of a potentiometer controlled in position by the angle of a flap arranged in an intake pipe, a voltage level must first be adjusted before being subjected to analog-to-digital conversion. If the base value is in the form of a signal having a pulse frequency corresponding to the particular operating condition, as in the case of, for instance, detecting the intake air flow rate by detecting Kalman vortices downstream of a vortex-generating pillar arranged in an intake pipe, or in the case of detecting the engine speed with a pickup provided adjacent a rotary disc driven by the crankshaft, it is necessary to detect the period or frequency of the base signal such as with a timer or the like.
Detecting data of operating parameters from the state of a pulse signal (an output signal of pulses) having a frequency corresponding the respective sensed operating parameter of the engine is generally superior in accuracy to detection based on a change in resistance. However, there is a disadvantage in that, when counting numbers of pulses produced within a fixed measuring interval, the end of the measuring intervals may not coincide with the trigger signal used to start the execution of the operating program. For example, assuming that the trigger signals are generated at predetermined crank angles or time intervals as shown at Y in FIG. 3 and a pulse signal having a frequency corresponding to an operating condition such as the intake air flow rate or engine speed are as shown at Z in FIG. 3, if the engine operating conditions are steady, the pulse signal contains pulses occurring at substantially equal intervals, although the interval may fluctuate slightly. However, because there is no integer relationship between the frequencies of the pulse and trigger signals, three pulses of the pulse signal are generated in the measuring interval between the trigger signal pulses Y1 and Y2, four pulses of the pulse signal are generated between the trigger signal pulses Y2 and Y3, and three pulses of the pulse signal are generated between the trigger signal pulses Y3 and Y4. If the input value is determined according to the number of pulse signal pulses generated within these measuring intervals, although the actual parameter is constant, the input values will fluctuate. If the fuel flow rate and ignition timing are calculated using input values varying depending on the measuring interval, a constant fuel flow rate and ignition timing will not be obtainable, consequently resulting in irregularity of engine operation.
Although it is possible to obtain input values from the mean values of the pulse intervals of such pulse signals obtained over several measuring intervals, doing so makes it impossible to obtain accurate data of operating conditions in transitional states such as during periods of acceleration. Also, the responsiveness of the system in controlling the fuel rate and the ignition timing is decreased, resulting in an unsatisfactory engine performance.